# 使用 Python 官方镜像作为基础镜像
FROM python:3.10-slim

#设置时区 Debian
ENV TZ=Asia/Shanghai \
    DEBIAN_FRONTEND=noninteractive

RUN ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone && dpkg-reconfigure --frontend noninteractive tzdata && rm -rf /var/lib/apt/lists/*

# 设置工作目录
WORKDIR /app

# 安装FFmpeg和其他系统依赖
RUN apt-get update && apt-get install -y \
    ffmpeg \
    && rm -rf /var/lib/apt/lists/*

# 设置日志相关环境变量
ENV LOG_DIR=/var/log/app \
    DEBUG=false

# 创建日志目录和临时目录并设置权限
RUN mkdir -p ${LOG_DIR} && \
    chmod 755 ${LOG_DIR} && \
    mkdir -p /app/temp && \
    chmod 755 /app/temp

# 复制当前目录下的相关文件到容器的工作目录
COPY ./config /app/config
COPY ./database /app/database
COPY ./mrouter /app/mrouter
COPY ./service /app/service
COPY ./templates /app/templates
COPY ./utils /app/utils
COPY ./requirements.txt /app/
COPY ./main.py /app/

# 安装 Python 应用程序所需的依赖包
RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 创建数据卷用于日志持久化
VOLUME ["${LOG_DIR}"]

# 暴露 FastAPI 应用程序的端口
EXPOSE 8000

# 启动 FastAPI 应用程序
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
